招生考试网
学历类| 阳光高考 美术高考 研究生 自考 成人高考 专升本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 论文 驾照考试 书法等级 少儿英语 报检员 单证员 教案 专题 考试资讯 文档
 3773考试网 - 计算机等级考试 - 模拟试题 - 正文

2014年3月全国计算机二级C语言上机模拟试题二十六之2

来源:2exam.com 2013-10-30
2014年3月全国计算机二级C语言上机模拟试题二十六之2

解题思路: 

  本题是考察考生对链表的操作,主要是解决删除链表中数据域值相同的结点。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。 

  函数fun中使用两个临时结构指针变量p和q对链表进行操作。首先p指向链表开始的next指针,q指向p的next指针,再利用while循环语句来判断指针q是否NULL,如果q指针是指向NULL,那么函数结束返回。如果不是NULL,那么就要判断p和q中data值是否相同,如果值相同,则要

  删除该结点,然后继续判断下一结点值是相同,如果还相同,那么继续删除结点,直至不相同为止。如果两个结点的值不相同,那么p就指向q,q指向q的next指针再继续操作上述过程。 

  删除结点的方法是:先将p的next指针指向q的next指针,再释放q指针指向的内存,最后把

  q指针再指向p的next指针就可以删除一个链表中的结点了。 

  第一处:释放q指针所指的内存空间,应填q。 

  第二处:q指针指向p的next指针,重新完成链接,应填next。 

  第三处:两个结点的值不相同,那么q就指向q的next指针,应填next。 

  *************************************************** 

  给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到 大的顺序进行排序。 

  请修改程序中的错误,使它能得出正确的结果。 

  注意:不要改动main函数,不得增行和删行,也不得更改程序的结构! 

  给定源程序: 

  #include  

  #define N 20 

  void fun(int a[], int n) 

  { int i, j, t, p; 

  for (j = 0 ;j < n-1 ;j++) { 

  p = j 

  for (i = j;i < n; i++) 

  if(a[i] < a[p]) 

  p = j; 

  t = a[p] ; a[p] = a[j] ; a[j] = t; 

  } 

  } 

  main() 

  { 

  int a[N]={9,6,8,3,-1},i, m = 5; 

  printf("排序前的数据:") ; 

  for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); 

  fun(a,m); 

  printf("排序后的数据:") ; 

  for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); 

  } 

  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章

    报名考试全国   黑龙江   吉林   辽宁   内蒙古   青海   宁夏   甘肃   新疆   陕西   西藏   北京   天津   河北   山东   江苏   安徽   河南
    上海   浙江   福建   广东   山西   湖南   湖北   江西   广西   海南   云南   贵州   四川   重庆
    分省高校计算机考试黑龙江   吉林   辽宁   内蒙古   河北   北京   天津   新疆   甘肃   宁夏   青海   陕西   山西   河南   山东   江苏   安徽   浙江
    福建   广东   海南   广西   江西   湖北   湖南   四川   上海   重庆   贵州   云南   西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导计算机一级   计算机二级   计算机三级   计算机四级
    经验交流
    高校计算机

    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号